﻿using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;

namespace DataFileApplication_WPF.Extensions
{
    //public static class DataGridExtensions
    //{
    //    // 定义附加属性
    //    public static readonly DependencyProperty SelectionChangedCommandProperty =
    //        DependencyProperty.RegisterAttached(
    //            "SelectionChangedCommand",
    //            typeof(ICommand),
    //            typeof(DataGridExtensions),
    //            new PropertyMetadata(null, OnSelectionChangedCommandChanged));

    //    // 获取附加属性值
    //    public static ICommand GetSelectionChangedCommand(DataGrid element)
    //    {
    //        return (ICommand)element.GetValue(SelectionChangedCommandProperty);
    //    }

    //    // 设置附加属性值
    //    public static void SetSelectionChangedCommand(DataGrid element, ICommand value)
    //    {
    //        element.SetValue(SelectionChangedCommandProperty, value);
    //    }

    //    // 当附加属性值改变时的处理方法
    //    private static void OnSelectionChangedCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    //    {
    //        if (d is DataGrid dataGrid)
    //        {
    //            if (e.OldValue != null)
    //            {
    //                dataGrid.SelectionChanged -= OnDataGridSelectionChanged;
    //            }

    //            if (e.NewValue != null)
    //            {
    //                dataGrid.SelectionChanged += OnDataGridSelectionChanged;
    //            }
    //        }
    //    }

    //    // DataGrid 的 SelectionChanged 事件处理方法
    //    private static void OnDataGridSelectionChanged(object sender, SelectionChangedEventArgs e)
    //    {
    //        if (sender is DataGrid dataGrid)
    //        {
    //            ICommand command = GetSelectionChangedCommand(dataGrid);
    //            if (command != null && command.CanExecute(dataGrid.SelectedItem))
    //            {
    //                command.Execute(dataGrid.SelectedItem);
    //            }
    //        }
    //    }
    //}
}